1. Technical Field
The present invention relates, in general to granting bus priority to a requesting subsystem and, in particular, to a protocol for establishing bus priority between competing systems on the same bus. More particularly still, the present invention relates to a zero-cycle arbitration protocol to allow point-to-point communication between two peer subsystems across the same bus line.
2. Description of the Related Art
Bus arbitration protocol and methods for arbitrating bus access are well known in the art. Typically, the arbitration method or protocol is designed so as to reduce the arbitration overhead when one of two subsystems continuously uses the system bus. The arbitration protocol also is used to guarantee fairness so as not to starve one of the subsystems from the bus system. Bus systems having multiple subsystems often use an arbitration mechanism to avoid bus contention.
One example of an arbitration system is one that decides who is sending and who is listening by way of a symmetrical protocol. Typically, three clock cycles are required in the symmetrical protocol where one cycle is used for sending a request, the second cycle is used for the arbitration, and the third cycle is used for the response with the proper selection. A second arbitration protocol uses a master-slave relationship where one system is the master and the other is the slave such that the slave always makes requests for the bus while the master arbitrates whether to grant bus access to the slave. Like the symmetrical protocol, the master slave system requires at least three clock cycles to perform arbitration and grant bus access to any subsystem.
Accordingly, what is needed is an arbitration system and method that reduces arbitration overhead while keeping the bus use fair to all subsystems on the bus system. Additionally, what is needed is a bus arbitration system that grants at least partial real-time bus access during bus request transmission by at least one of the subsystems on the bus system.
It is therefore one object of the present invention to provide a protocol for granting bus priority to a requesting subsystem.
It is another object of the present invention to provide the protocol for establishing bus priority between competing systems on the same bus.
It is yet another object of the present invention to provide to zero-cycle arbitration protocol to allow point-to-point communication between two peer subsystems across the same bus line.
The foregoing objects are achieved as is now described. According to the present invention, an arbitration protocol is provided for determining between a pair of subsystems within a networking system having a plurality of subsystems which subsystem might obtain access to a common hardware resource. The protocol allows the networking system to determine which subsystem becomes the sender and which becomes the receiver. The protocol is based on a point-to-point communication between two peer subsystems. It is based on an asymmetrical quality such that the first or priority subsystem has a zero latency in accessing the switch while the second subsystem must wait at least one clock cycle before obtaining access to the network system after requesting it and after the end of control by the first subsystem.
In the protocol, a subsystem can only initiate one transaction per cycle, but the subsystem may make consecutive uses of the common bus. Each use is separated by at least one idle cycle. When the bus is idle, the first subsystem transmits a signal requesting bus access If the second subsystem has not indicated in a previous cycle its own intentions to control the bus. The first subsystem will not transmit if the second subsystem has already indicated its intentions to control the bus. The second subsystem must prevent transmitting over the bus if it determines that the first subsystem has initiated a request for the bus system. Likewise, the second subsystem withholds transmitting until the first subsystem has ended its control of the bus system.
A second asymmetrical protocol is also provided, but delays access to the bus for the first subsystem in contrast to the first embodiment that has zero latency when the first subsystem requests access to the bus when it is available. The delayed action protocol is used for systems that are unable to process data simultaneously with requesting access to the bus, which processing is typically provided by a transparent latch needed for use in the zero-cycle arbitration protocol.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.